home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 February: Technology Seed / Mac Tech Seed Feb '97.toast / OpenDoc 1.2b2c1 / OpenDoc / Interfaces / C / Link.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-02-13  |  6.3 KB  |  234 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Link.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emith.dll: 2.33
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Classes defined in this interface
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODLink_h
  18. #define SOM_ODLink_h
  19.  
  20.  
  21. #include <som.h>
  22.  
  23. /*
  24.  * -- This emitter treats Method Tokens as Thunks by default.
  25.  * -- Use the sc modifier "nothunks" to change this default
  26.  */
  27. #undef somresolve_
  28. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  29.  
  30. /*
  31.  * Define the class name as an object type
  32.  */
  33. #ifndef ODLink
  34. #define ODLink SOMObject
  35. #endif
  36. #include <LinkB.h>
  37.  
  38. /*
  39.  * Start of user-defined types:
  40.  */
  41. #ifndef SOMClass
  42.     #define SOMClass SOMObject
  43. #endif /* SOMClass */
  44. #ifndef SOMObject
  45.     #define SOMObject SOMObject
  46. #endif /* SOMObject */
  47. #ifndef ODFrame
  48.     #define ODFrame SOMObject
  49. #endif /* ODFrame */
  50. #ifndef ODFacet
  51.     #define ODFacet SOMObject
  52. #endif /* ODFacet */
  53. #ifndef ODObject
  54.     #define ODObject SOMObject
  55. #endif /* ODObject */
  56. #ifndef ODExtension
  57.     #define ODExtension SOMObject
  58. #endif /* ODExtension */
  59. #ifndef ODRefCntObject
  60.     #define ODRefCntObject SOMObject
  61. #endif /* ODRefCntObject */
  62. #ifndef ODPersistentObject
  63.     #define ODPersistentObject SOMObject
  64. #endif /* ODPersistentObject */
  65. #ifndef ODStorageUnit
  66.     #define ODStorageUnit SOMObject
  67. #endif /* ODStorageUnit */
  68. #ifndef ODBaseLink
  69.     #define ODBaseLink SOMObject
  70. #endif /* ODBaseLink */
  71. #ifndef ODLinkSource
  72.     #define ODLinkSource SOMObject
  73. #endif /* ODLinkSource */
  74. #ifndef ODPart
  75.     #define ODPart SOMObject
  76. #endif /* ODPart */
  77. #ifndef ODDraft
  78.     #define ODDraft SOMObject
  79. #endif /* ODDraft */
  80. #ifndef ODLink
  81.     #define ODLink SOMObject
  82. #endif /* ODLink */
  83.  
  84. /*
  85.  * End of user-defined types.
  86.  */
  87.  
  88. #define ODLink_MajorVersion 1
  89. #define ODLink_MinorVersion 0
  90.  
  91. /*
  92.  * External name shortening if required
  93.  */
  94. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  95. #define ODLinkClassData d
  96. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  97. /*--------------Migration------------*/
  98.  
  99. #ifdef OLDIBMSOMAPISUPPORT
  100. #define ODLink_classObj somNewClassReference(ODLink)
  101. #define _ODLink ODLink_classObj
  102. #define ODLinkCClassData ODLinkClassData
  103. #define ODLinkNewClass(major,minor) somNewVersionedClassReference(ODLink,major,minor)
  104. #endif
  105.  
  106. /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
  107. #define ODLinkMetaClass SOMClass
  108.  
  109. #if PRAGMA_ALIGN_SUPPORTED
  110. #  pragma options align=power
  111. #endif
  112.  
  113. /*
  114.  * Declare the class data structure
  115.  */
  116. SOMEXTERN struct ODLinkClassDataStructure {
  117. #ifdef OLDIBMSOMAPISUPPORT
  118.     SOMAny            *classObject;    /* always zero, use somNewClassReference instead */
  119. #else
  120.     long zero;
  121. #endif
  122.     somStaticClassInfo *sci;
  123.     somDToken        instanceDataToken;
  124.     long reserved [3];
  125.     somMToken reserved1;
  126.     somMToken reserved2;
  127.     somMToken reserved3;
  128.     somMToken reserved4;
  129.     somMToken reserved5;
  130.     somMToken reserved6;
  131.     somMToken reserved7;
  132.     somMToken reserved8;
  133.     somMToken reserved9;
  134.     somMToken reserved10;
  135. } SOMDLINK ODLinkClassData;
  136.  
  137. #if PRAGMA_ALIGN_SUPPORTED
  138. #  pragma options align=reset
  139. #endif
  140.  
  141. #if !defined(ODLink_Class_Source) && !defined(SOM_Module_link_Source)
  142. #if PRAGMA_IMPORT_SUPPORTED
  143. #pragma import list ODLinkClassData
  144. #endif
  145. #endif
  146.  
  147.  
  148. /*
  149.  * New macro for ODLink
  150.  */
  151. #define ODLinkNew() somNewObject(ODLink)
  152.  
  153. /*
  154.  * Override method: somUninit
  155.  */
  156. #define ODLink_somUninit(somSelf) \
  157.     SOMObject_somUninit(somSelf)
  158.  
  159. /*
  160.  * Override method: Release
  161.  */
  162. #define ODLink_Release(somSelf,ev) \
  163.     ODRefCntObject_Release(somSelf,ev)
  164.  
  165. /*
  166.  * Override method: Externalize
  167.  */
  168. #define ODLink_Externalize(somSelf,ev) \
  169.     ODPersistentObject_Externalize(somSelf,ev)
  170.  
  171. /*
  172.  * Override method: ReleaseAll
  173.  */
  174. #define ODLink_ReleaseAll(somSelf,ev) \
  175.     ODPersistentObject_ReleaseAll(somSelf,ev)
  176.  
  177. /*
  178.  * Override method: CloneInto
  179.  */
  180. #define ODLink_CloneInto(somSelf,ev,key,toSU,scope) \
  181.     ODPersistentObject_CloneInto(somSelf,ev,key,toSU,scope)
  182.  
  183. /*
  184.  * Override method: ShowLinkDestinationInfo
  185.  */
  186. #define ODLink_ShowLinkDestinationInfo(somSelf,ev,facet,info,changesAllowed,infoResult) \
  187.     ODBaseLink_ShowLinkDestinationInfo(somSelf,ev,facet,info,changesAllowed,infoResult)
  188. #ifndef SOM_DONT_USE_INHERITED_MACROS
  189. #define ODLink_Lock ODBaseLink_Lock
  190. #define ODLink_Unlock ODBaseLink_Unlock
  191. #define ODLink_GetContentStorageUnit ODBaseLink_GetContentStorageUnit
  192. #define ODLink_RegisterDependent ODBaseLink_RegisterDependent
  193. #define ODLink_UnregisterDependent ODBaseLink_UnregisterDependent
  194. #define ODLink_GetUpdateID ODBaseLink_GetUpdateID
  195. #define ODLink_GetChangeTime ODBaseLink_GetChangeTime
  196. #define ODLink_ShowSourceContent ODBaseLink_ShowSourceContent
  197. #define ODLink_InitPersistentObject ODPersistentObject_InitPersistentObject
  198. #define ODLink_InitPersistentObjectFromStorage ODPersistentObject_InitPersistentObjectFromStorage
  199. #define ODLink_GetStorageUnit ODPersistentObject_GetStorageUnit
  200. #define ODLink_GetID ODPersistentObject_GetID
  201. #define ODLink_InitRefCntObject ODRefCntObject_InitRefCntObject
  202. #define ODLink_Acquire ODRefCntObject_Acquire
  203. #define ODLink_GetRefCount ODRefCntObject_GetRefCount
  204. #define ODLink_InitObject ODObject_InitObject
  205. #define ODLink_HasExtension ODObject_HasExtension
  206. #define ODLink_AcquireExtension ODObject_AcquireExtension
  207. #define ODLink_ReleaseExtension ODObject_ReleaseExtension
  208. #define ODLink_Purge ODObject_Purge
  209. #define ODLink_IsEqualTo ODObject_IsEqualTo
  210. #define ODLink_SubClassResponsibility ODObject_SubClassResponsibility
  211. #define ODLink_somInit SOMObject_somInit
  212. #define ODLink_somInit SOMObject_somInit
  213. #define ODLink_somDuplicateReference SOMObject_somDuplicateReference
  214. #define ODLink_somCompareReference SOMObject_somCompareReference
  215. #define ODLink_somRelease SOMObject_somRelease
  216. #define ODLink_somFree SOMObject_somFree
  217. #define ODLink_somCanDelete SOMObject_somCanDelete
  218. #define ODLink_somGetClass SOMObject_somGetClass
  219. #define ODLink_somGetClassName SOMObject_somGetClassName
  220. #define ODLink_somGetSize SOMObject_somGetSize
  221. #define ODLink_somIsA SOMObject_somIsA
  222. #define ODLink_somRespondsTo SOMObject_somRespondsTo
  223. #define ODLink_somIsInstanceOf SOMObject_somIsInstanceOf
  224. #define ODLink_somDispatch SOMObject_somDispatch
  225. #define ODLink_somClassDispatch SOMObject_somClassDispatch
  226. #define ODLink_somCastObj SOMObject_somCastObj
  227. #define ODLink_somResetObj SOMObject_somResetObj
  228. #define ODLink_somPrintSelf SOMObject_somPrintSelf
  229. #define ODLink_somDumpSelf SOMObject_somDumpSelf
  230. #define ODLink_somDumpSelfInt SOMObject_somDumpSelfInt
  231. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  232.  
  233. #endif       /* SOM_ODLink_h */
  234.